package Strategy.Demo.Interfaces;

/**
 * 策略模式
 * @Author: pengzx
 * @Description:
 * @Date: 10:12 2017/9/5
 * @Modified by: 1.0
 */
public abstract class Duck {
    protected Fly fly;
    protected DuckQuack duckQuack;

    public Duck()
    {
    }

    /**
     * 鸭子行为的抽象方法
     */
    public abstract void display();

    /**
     * 委托飞行
     */
    public void performFly(){
        fly.fly();
    }

    /**
     * 委托叫声
     */
    public void performDuack(){
        duckQuack.quack();
    }
}
